// 选择排序
// 首先在未排序序列中找到最小（大）元素，存放到排序序列的起始位置，然后，再从剩余未排序元素中继续寻找最小（大）元素，
// 然后放到已排序序列的末尾。以此类推，直到所有元素均排序完毕。

const selectSort = (arr) => {
    for(let i = 0; i < arr.length; i++) {
        let index = i
        for(let j = i+1; j < arr.length; j++) {
            if(arr[j] < arr[index]) {
                index = j
            }
        }
        [arr[i], arr[index]] = [arr[index], arr[i]]
        console.log(arr);
    }
    return arr
}
let old = new Date().getTime()
console.log(selectSort([1,2,1,5,3,2,7,8,9,0,1,2,33,2,1]));
console.log(new Date().getTime() - old);

// 思想
// 排序过程
// 1,2,1,5,3,2,7,8,9,0,1,2,33,2,1
// index = 0
// 0,2,1,5,3,2,7,8,9,1,1,2,33,2,1
// index = 1, index = 2
// 0,1,2,5,3,2,7,8,9,1,1,2,33,2,1
// index = 2,index = 9
// 0,1,1,5,3,2,7,8,9,2,1,2,33,2,1
// ...
